package com.coffee.admin.api.merchant.service;

import com.coffee.admin.api.merchant.query.MerchantCityQuery;
import com.coffee.admin.api.merchant.req.MerchantCityReq;
import com.coffee.admin.api.merchant.result.MerchantCityResult;
import com.coffee.admin.api.merchant.result.MerchantShopResult;
import com.coffee.core.entity.Page;
import com.coffee.core.entity.PagerInfo;
import com.coffee.core.exception.BusinessException;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface MerchantCityService {

    Page<MerchantCityResult> getPager(MerchantCityQuery param, PagerInfo pr);

    Integer count(MerchantCityQuery param);

    MerchantCityResult getDetail(Integer merchantId);

    List<MerchantCityResult> getList(MerchantCityQuery param, PagerInfo pr);

    List<MerchantCityResult> getList(MerchantCityQuery param);

    List<MerchantShopResult> getShopList(MerchantCityQuery param);

    List<MerchantCityResult> getList();

    void delete(Integer id, Integer merchantId,String type);

    void updateIsDefault(Integer id, Integer merchantId,String isDefault) throws BusinessException;

    void addOrUpdate(MerchantCityReq req) throws BusinessException;

    Map<Integer, MerchantCityResult> getItemMap(Set<Integer> idSet);

    Map<Integer, MerchantCityResult> getItemMap();

}